#ifndef _MATERIAL_H
#define _MATERIAL_H

#include "Common.h"

namespace Pandora
{

	class CMaterial
	{
		CColor color;
		float reflection;
		CColor specular;
		float spower;
		float refraction;
	public:
		CMaterial() : color(CColor(0.0f, 0.0f, 0.0f)), reflection(0.0f), specular(CColor(0.0f, 0.0f, 0.0f)), spower(0.0f), refraction(1.0f){}

		CColor& GetColor() { return color; }
		float GetReflection() const { return reflection; }
		CColor& GetSpecular() { return specular; }
		float GetSpecularPower() const { return spower; }
		float GetRefraction() const { return refraction; }
		
		void SetColor(CColor& col) { color = col;}
		void SetColor(CColor* col) { color = *col;}
		void SetColor(float r, float g, float b) { color = CColor(r, g, b);}
		void SetReflection(float ref) { reflection = ref; }
		void SetSpecular(CColor& spec) { specular = spec;}
		void SetSpecular(CColor* spec) { specular = *spec;}
		void SetSpecular(float r, float g, float b) { specular = CColor(r, g, b);}
		void SetSpecularPower(float pow) { spower = pow; }
		void SetRefraction(float ref) { refraction = ref; }
	};

}; //namespace Pandora

#endif /* _MATERIAL_H */